home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / AmigaTalk / intuition / GUI.st < prev    next >
Encoding:
Text File  |  2004-01-31  |  3.0 KB  |  141 lines

  1. " --------------------------------------------------------------------- "
  2. " GUI Class allows the User to make GUI's using the GadTools function-  "
  3. " ality of Intuition.  This Class is a lot simpler than Gadget Classes, "
  4. " Menu Classes & the Window Class.                                      "
  5. " --------------------------------------------------------------------- "
  6. " WARNING "
  7. " This class is not finished! "
  8. ""
  9. " HISTORY "
  10. "     19-May-2000 - Created the first draft of the Class.               "
  11. " --------------------------------------------------------------------- "
  12.  
  13. Class GUI :Glyph  ! private numGadgets parentScreen gadArray !
  14. [
  15.    refreshGadgets
  16.  
  17.       <primitive 181 4 'RefreshGadgets' private>
  18. |
  19.    handleIntuition
  20.  
  21.       ^ <primitive 181 16 private>
  22. |
  23.    addMenuStrip: menuObject
  24.  
  25.       <primitive 181 5 'AddMenuStrip' menuObject private>
  26. |
  27.    removeMenuStrip
  28.  
  29.       <primitive 181 4 'RemoveMenuStrip' private>
  30. |
  31.    infoReq: msg title: t
  32.  
  33.       <primitive 181 13 msg t 'OKAY'>
  34. |
  35.    yesNoReq: msg title: t
  36.  
  37.       ^ <primitive 181 13 msg t 'YES|NO'>
  38. |
  39.    getUserChoice: msg title: t choices: bstr
  40.  
  41.       ^ <primitive 181 13 msg t bstr>
  42. |
  43.    at: aNumber
  44.  
  45.       ( (aNumber < 1) or: [aNumber > <primitive 4 gadArray>] )
  46.          ifTrue: [ self error: 'index error'. ^nil ].
  47.  
  48.       ^ <primitive 111 gadArray aNumber>
  49. |
  50.    at: aNumber put: aGadget
  51.  
  52.       ((aNumber < 1) or: [aNumber > <primitive 4 gadArray>])
  53.          ifTrue: [ self error: 'index error'. ^nil ].
  54.  
  55.       <primitive 112 gadArray aNumber aGadget>.
  56.  
  57.       ^ aGadget
  58. |
  59.    sizeGadgetArray
  60.  
  61.       ^ <primitive 4 gadArray>
  62. |
  63.    newGadgetTagArray: gNum tags: tagArray ! tagsize !
  64.  
  65.       tagsize <- tagArray size.
  66.  
  67.       <primitive 183 xx (gNum - 1) tagsize tagArray>
  68. |
  69.    newGadgetArray: howMany
  70.  
  71.       numGadgets <- howMany.
  72.  
  73.       ^ gadArray <- <primitive 114 howMany>
  74. |
  75.    setGadgetID: newGadgetID for: gadgetObject
  76.  
  77.       <primitive 183 3 0 7 newGadgetID gadgetObject>
  78. |
  79.    getMenuFlagsFor: menuObject
  80.  
  81.       ^ <primitive 182 2 4 menuObject>
  82. |
  83.    setMenuFlags: newFlags for: menuObject
  84.  
  85.       menuObject setMenuFlags: newFlags
  86. |
  87.    printIText: iTextObject at: aPoint
  88.  
  89.       <primitive 181 14 iTextObject (aPoint x) (aPoint y) private>
  90. |
  91.    setGUIOrigin: newPoint ! x y !
  92.  
  93.       x <- newPoint x.
  94.       y <- newPoint y.
  95.  
  96.       <primitive 181 3 0 x private>.
  97.       <primitive 181 3 1 y private>
  98. |
  99.    setGUISize: sizePoint ! w h !
  100.  
  101.       w <- sizePoint x.
  102.       h <- sizePoint y.
  103.  
  104.       <primitive 181 3 2 w private>.
  105.       <primitive 181 3 3 h private>
  106. |
  107.    setFlags: newFlags
  108.  
  109.       <primitive 181 3 6 newFlags private>
  110. |
  111.    setIDCMPFlags: newIDCMP
  112.  
  113.       <primitive 181 3 7 newIDCMP private>
  114. |
  115.    new
  116.   
  117.       self error: 'GUI Class only responds to "new:"'.
  118.   
  119.       ^ nil
  120. |
  121.    new: guiTitle
  122.  
  123.       private <- <primitive 181 17 guiTitle>.
  124.  
  125.       ^ self
  126. |
  127.    closeGUI
  128.  
  129.       <primitive 181 0 private>.
  130.       
  131.       <primitive 250 5 0 private>.
  132.       
  133.       ^ nil
  134. |
  135.    openOnScreen: screenObject
  136.  
  137.       <primitive 181 1 screenObject private>.
  138.  
  139.       parentScreen <- screenObject
  140. ]
  141.